約 3,549,946 件
https://w.atwiki.jp/tidlv4/pages/17.html
Split 文字と文字の数を出力できる 1文字を入力する 2 3何文字でひとつのまとまりとするかのカウント ⅰ入力した文字を出力 ⅱ入力した文字数を出力 備考
https://w.atwiki.jp/kojiro/pages/647.html
SPLIT
https://w.atwiki.jp/rootz/pages/57.html
SPLIT発想法とは? 質問に対する答えの分類によって、集団を分類していく方法。 [具体例] メリット 考えるイベントのフローの中で、どこに弱点(ロス)があるかがわかりやすい。 したがって最も低い労力で高い効果が得られる可決策を考える上で大きな助けになる。 関連 マインドマップ
https://w.atwiki.jp/ghostwind/pages/123.html
挙動不審!? IE の split() メソッドは何かと挙動不審である。セパレータに文字列を用いた場合は問題ないが、ひとたび正規表現で指定しようものなら、トンでもない結果が返されることがしばしば。あまりに一貫性のない挙動のため、デバッグでハマることも多かろう。 (1) 分割後、空文字列となる要素は配列に含まれない (2) ただし空文字列を分割すると空要素が一つの配列が返される (1) に関しては以下の二つのコードで確認して欲しい。普通の頭で考えるなら両者とも「3」が返されると思うはずだ。 X = ABC\n\nDEF .split( \n ).length Y = ABC\n\nDEF .split(/\n/).length ところが Y では二番目の空行が無視され「2」が返される。Firefox や Opera では無論「3」である。取り合えず ECMAScript における split() メソッドの仕様は下記。 http //www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/15-5_String_Objects.html#section-15.5.4.14 では続けよう。百歩譲ってこう考えてみた。「改行を無視してくれたほうがありがたいこともあるかもしれない」。改行のみで構成された文字列で試してみる。 X = \n\n\n .split(/\n/).length 予想通り、X は「0」である。しかしこれには重大な落とし穴があった。それが (2) である。 X = .split(/\n/).length 空文字列の要素は配列に含まれないのだから、これも「0」になるだろうと思ったら大間違い。こいつは何故か「1」になるのだ。だから 「JScript の split() メソッドはセパレータに正規表現を指定した場合、空要素を無視した配列を返す」 などとは口が裂けても言ってはいけない。首尾一貫性のない箇所がとんでもないバグを引き起こすかもしれないからだ。本来なら ECMAScript の仕様に準拠して欲しいところだが、せめて「空要素を抜く」というなら完全にそうして欲しかった。JScript の split() メソッドはあまりに中途半端すぎる仕様である。 回避策(a.k.a. ごまかし) 空文字列の分割においても空配列を返したいという場合は、終端マッチを利用して次のように書けばよい。 X = \n\n\n .split(/\n|$/).length Y = .split(/\n|$/).length 先頭マッチではダメなのかという向きもあろうが X = \n\n\n .split(/^|\n/).length Y = .split(/^|\n/).length はダメである。 X = \n\n\n .split(/\n|^/).length Y = .split(/\n|^/).length なら問題ない。ただし ^ を後ろに記述するのはなんとも気持ちがワルイ。 X = \n\n\n .split(/$|\n/).length Y = .split(/$|\n/).length これも問題なかったが、やはり気持ちワルイ。 ECMAScript に準拠させる 何だかんだ遊んでみたものの、やっぱりこの仕様はいただけない。さらに上記に加えて「捕捉括弧にマッチした文字列が配列に追加されない」というオチもある。 A = ABC+=DEF=GHI-=JKL+=MN .split(/([+-])?=/) Firefox や Opera では [ABC,+,DEF,,GHI,-,JKL,+,MN] が返されるが、IE では [ABC,DEF,GHI,JKL,MN] である。まあ、これ以上嘆いたところでどうなるわけでもなし、結局は split() メソッドを再実装するのが一番安全かもしれない。というわけで書いたのが以下。 String.prototype.split = (function () { var _split = String.prototype.split; var MAX_COUNT = Math.pow(2, 32) - 1; return foo .split(/foo/).length ? _split function (separator, limit) { if (separator instanceof RegExp) { var str = this.toString(); var arr = []; limit = limit ? parseInt(limit) MAX_COUNT; if (limit 0) { var len, match; var i = 0; var j = -1; separator = eval(separator + g ); while ((len = limit - arr.length) (match = separator.exec(str))) { if (match.index str.length) { if (match[0].length || match.index i) { arr = arr.concat( str.substr(i, match.index - i), match.slice(1, len) ); } i = match.index + match[0].length; j = match.lastIndex; } } if (arr.length limit (i str.length || j = str.length)) { arr.push(str.substr(i)); } } return arr; } else { return _split.call(this, separator, limit); } }; })(); ポイントは以下の通り。 セパレータが RegExp オブジェクト以外のときは元の split() メソッドへ投げることにした。クロージャにしているのはメソッドの退避によるグローバル空間の汚染を避けるため。 元の split() メソッドが挙動不審であるかのチェックをする(「2」が返れば正常、「0」が返れば挙動不審ということ)。正常であれば元のメソッドを、挙動不審であれば書き直したメソッドを渡す。 String オブジェクトを toString() メソッドで明示的に String オブジェクトに変換しているのはメソッドが他のオブジェクトへ流用された時のため。 セパレータは指定の有無に関わらずグローバルマッチさせる必要があるので RegExp オブジェクトを再生成。eval はあまり使いたくなかったが他に策が浮かばなかった。ちなみに global プロパティは読み取り専用のため使用できない。 while 文は「配列数が上限以下」かつ「マッチするセパレータがある」限り、セパレータまでの文字列と補足括弧によるセパレータ内のサブマッチ文字列を追加し続ける。ただし空文字列にマッチする場合、先頭と末尾は無視する。 match.slice(1, len) の部分は見た目はシンプルだが、実際はもうちょっと複雑。 slice(start, start + size) start 抽出開始インデックス size 抽出サイズ サブマッチ文字列は match[1] 以降に格納されるため、start は「1」である。また size は追加可能な要素数の上限であり、len - 1 となる(len は limit - arr.length で「-1」は区切られた文字列の追加分を考慮したもの)。 slice(start, start + size) start = 1 size = len - 1 slice(1, 1 + len - 1) slice(1, len) 第二引数は「1」が相殺されてたまたまシンプルになっただけ。 上記の再実装は他のブラウザの挙動に限りなく近い(と思う・・・)が完全に等しいわけではない。唯一の相違は JScript の正規表現にある。ECMAScript の仕様では "." は "\r" と "\n" の改行コードを除くすべての一文字にマッチするが、JScript では "\n" 以外の一文字となる。つまり "\r" にはマッチしてしまうのである。これに関してはまた章をあらためて記すことにする。 おまけ RegExp オブジェクトの exec() メソッドを呼び出すとマッチした文字列を格納した配列が返されるが(マッチしなかった場合は null)、この配列は input, index, lastIndex というプロパティを持つ。input は検索対象の文字列、index はマッチした文字列の先頭インデックス、lastIndex は次回検索時の開始インデックスが格納される(マッチした文字列が空文字列であっても開始インデックスが 1 シフトされることに注意)。lastIndex プロパティの値は RegExp オブジェクトにグローバルフラグが立てられている場合、オブジェクト自身の lastIndex プロパティにもコピーされる。これが exec() メソッドによる続き検索が可能となる仕組みである。lastIndex プロパティの値は exec()メソッドに失敗するか、明示的に 0 を代入することでリセットされる。もちろん任意の開始インデックスを指定してもよい。
https://w.atwiki.jp/limixp/pages/14.html
Javaプラットフォームのエディションについて整理します. Java SE (バージョン 6.0 以降)Java Platform, Standard Edition. (バージョン 5 以前)Java 2 Platform, Standard Edition.俗にいうJ2SE. デスクトップマシン用. Java EE (バージョン 5.0 以降)Java Platform, Enterprise Edition. (バージョン 4 以前)Java 2 Platform, Enterprise Edition. 俗にいうJ2EE. Webサーバ用. Servlet, JSP, EJB, JNDI, JTAなどの機能を提供. Java ME Java Platform, Micro Edition. 携帯電話, PDA, テレビ用. バージョンの表記について Javaのバージョンを1.4.0や1.5.0と表記する場合と,4.0や5.0と表記する場合があります. 1.4.0というような表記は開発バージョンのことを指し,4.0という表記は製品バージョンのことを指しています.1.4.0と4.0は表記の方法が違うだけで全く同じバージョンを指していると思って良いと思います. トップページ
https://w.atwiki.jp/yo-kichi/pages/83.html
スコーラとは Javaスコーラ2010まとめ 参考にして授業をやるかた、人に教える方へ 目標 プログラミングを楽しむ 自分でプログラムを作れるようになる TODO 現状ではこのwikiの情報を活用できない 情報の整理、集約が必要 javaスコーラ2010年度反省 2010年 ガイダンス HelloJava, 変数 条件分岐、繰り返し、変数続き 配列、繰り返し 今までの復習 クラスとメソッド メソッドの種類 コンストラクタ、メソッドの使い方 GUIを使ったプログラム カプセル化 問題集 ゲーム 問題続き 夏休みの予定を決める 問題集・ゲーム続き 夏休みJavaスコーラ特設ページ 後期ガイダンス 復習とOOP OOPなプログラムを読もう 継承 スレッド ソート、スタック データ構造(Listなど) AppletでGUI Timerつくってみるテスト 前回と同じ 復習 復習とプログラムの改良 自分で考えて作るプログラム 自分で考えて作るプログラム2 スコーラwikiテンプレ **今回の目標 **役割り分担, 内容 **検討中 **準備 **宿題 問題と答え **反省 備考 スコーラノートPCを持っていく プログラミングに慣れるまで、エディタで。 準備の心得 用語 オブジェクト指向ってなによ 括弧の呼び方 ひらめいたときようページ コメント、意見など Java スコーラ 2010
https://w.atwiki.jp/seasartaro/pages/68.html
Splitterクラスは文字列を分解するときに使用します。以下の文字列があるとします。 "Tokyo,Shinagawa,,Nagoya, Osaka,," ","で区切られた文字列ですが、ところどころ歯抜けがあります。 これをJavaで分解すると以下のソースになります。 String[] parts = stations.split(","); for (int i = 0; i parts.length; i++) { System.out.println("station = " + parts[i]); } 結果は以下です。 station = Tokyo station = Shinagawa station = station = Nagoya station = Osaka Shinagawaの次の空文字は抽出されましたが、Osakaより後のデータが無視されていました。 Splitterを使ったサンプルコードは以下のようになります。 List String stationList = Splitter.on(",").splitToList(stations); for (String part stationList) { System.out.println("station = " + part); } 結果は以下になります。 station = Tokyo station = Shinagawa station = station = Nagoya station = Osaka station = station = String.splitで無視された空文字もリストに含まれています。 Splitterの基本的な文法は以下になります。 Splitter.on(区切り文字).splitToList(対象文字列); 以下のようにすると、空文字を飛ばす事もできます。 List String stationTrimList = Splitter.on(",").omitEmptyStrings().splitToList(stations); for (String part stationTrimList) { System.out.println("station omit empty = " + part); } 結果は以下になります。 station omit empty = Tokyo station omit empty = Shinagawa station omit empty = Nagoya station omit empty = Osaka
https://w.atwiki.jp/javawa/pages/12.html
プログラムを始める前に・・・ プログラムとは 初めての出力 HelloWorld (おまけ1) Javaの正しい実行 数値演算 変数「int」と代入 四則演算プラスワン 文字列処理 文字列の足し算 数字と数値 やっと入力 (おまけ2) プログラム引数 実行中に入力する。 (おまけ3)コンソールプログラム→対話型→GUIへ もっと演算 条件分岐 論理演算 正しいか?間違いか?
https://w.atwiki.jp/javamock/pages/15.html
HelloWorld.java 下記のHelloWorld.javaについて簡単にですが解説します HelloWorld.java class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); } } クラス クラスは以下のように記述します 修飾子 class クラス名 extends スーパークラス implements インターフェース, インターフェース, インターフェース ...{ フィールド,コンストラクタ,メソッド,内部クラスなど } 修飾子 以下の修飾子を指定します ※記述しなければデフォルトの修飾子になります 修飾子 修飾子種別 public アクセス修飾子 protected アクセス修飾子 private アクセス修飾子 static スタティック修飾子 final ファイナル修飾子 abstract 抽象修飾子 strictfp 厳密浮動小数修飾子 extends スーパークラス 継承するクラスを指定します ※記述しなければ「extends java.lang.Object」になります implements インターフェース, インターフェース, インターフェース ... インターフェースを指定します ※インターフェースが必要なければ記述しません メソッド メソッドは以下のように記述します 修飾子 戻り値 メソッド(引数,引数,引数,...) throws 例外クラス,例外クラス,例外クラス... { 処理など } 上記のHelloWorld.javaでは以下の箇所です public static void main(String[] args) { System.out.println("Hello World"); } ※javaコマンドで実行されるクラスは以下シグネチャを持つmainメソッドが定義されている必要があります ※実行後最初に呼び出されるメソッドです public static void main(String args[]) 修飾子 以下の修飾子を指定します ※記述しなければデフォルトの修飾子になります 修飾子 修飾子種別 public アクセス修飾子 protected アクセス修飾子 private アクセス修飾子 static スタティック修飾子 final ファイナル修飾子 abstract 抽象修飾子 native ネイティブ修飾子 synchronized 同期修飾子 strictfp 厳密浮動小数修飾子 戻り値 戻り値のデータ型を指定していします ※voidを指定すると何も返しません 引数 引数を指定します 上記のHelloWorld.javaでは以下の箇所です String型の配列を引数としています String[] args throws 例外クラス,例外クラス,例外クラス... 例外クラスを指定します 指定した例外が発生したとき例外を投げます System.out.println("Hello World"); java.lang.Systemクラスのフィールドout(java.io.PrintStreamクラス)の メソッドprintln()に引数として"Hello World"を渡すことでHello Worldと出力します
https://w.atwiki.jp/asayamayuki/pages/12.html
Javaについて3回生同士の情報共有に使ってください。 test2 -- asayamayuki (2007-02-26 17 08 52) 名前 コメント